package com.wasu.sdk_ott.http.live

import com.alibaba.fastjson.JSONObject
import io.reactivex.Observable
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.Headers
import retrofit2.http.POST

/**
 * <p>------------------------------------------------------
 * <p>Copyright (C) 2020 wasu company, All rights reserved.
 * <p>------------------------------------------------------
 * <p> IP直播管理系统接口请求
 * <p>
 *
 * @author Created by zhangmz
 * @date on 2023/8/1
 */
interface IpLiveDao {

    /**
     * 异步查询分组频道
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveChannelGroupAsync(@Body body: JSONObject): Observable<ResponseBody>

    /**
     * 同步查询分组频道
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveChannelGroupSync(@Body body: JSONObject): Call<ResponseBody>

    /**
     * 同步查询时移频道列表
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveTimeShiftListSync(@Body body: JSONObject): Call<ResponseBody>

    /**
     * 异步查询单个频道
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveChannelAsync(@Body body: JSONObject): Observable<JSONObject>

    /**
     * 同步查询单个频道
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveChannelSync(@Body body: JSONObject): Call<JSONObject>

    /**
     * 异步查询节目单
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveProgramListAsync(@Body body: JSONObject): Observable<ResponseBody>

    /**
     * 同步查询节目单
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveProgramListSync(@Body body: JSONObject): Call<ResponseBody>

    /**
     * 查询版本信息
     */
    @Headers("Content-Type:application/json", "charset:utf-8")
    @POST("services/getLiveList")
    fun queryLiveVersionAsync(@Body body: JSONObject): Observable<JSONObject>

}